Method and apparatus for controlling access to storage device

ABSTRACT

The storage regions under command of a storage controller can be simply enabled and disabled to access to by automatically registering connected host computers. Such system can be achieved by taking a step of acquiring N_Port_Name information included in a login frame from the host computers, and a step of displaying a table of access right of host computers to a logical unit under command of storage controller. A security table for the storage controller can be generated by supervisor&#39;s setting the access enable/disable flag information.

CROSS-REFERENCE TO RELATED APPLICATION

The present application is a continuation of application Ser. No.11/495,756, filed Jul. 31, 2006; which is a continuation of applicationSer. No. 10/828,299, filed Apr. 21, 2004, now U.S. Pat. No. 7,130,978;which is a continuation of application Ser. No. 10/425,915, filed Apr.30, 2003, now U.S. Pat. No. 6,968,434; which is a continuation ofapplication Ser. No. 09/764,286, filed Jan. 19, 2001, now U.S. Pat. No.6,606,695 and relates to U.S. application Ser. No. 09/085,864, filed May28, 1998, now U.S. Pat. No. 6,484,245, the contents of which areincorporated herein by reference.

BACKGROUND OF THE INVENTION

The present invention generally relates to security setting forprevention of illegal access between information processors.Particularly, the invention relates to a storage system for preventionof illegal access when a request occurs to access to a storage regionunder command of a storage controller in a computer system having anetwork provided between a high-rank unit (host computer) and thestorage controller (storage system), and relates to the computer systemincluding this storage system.

In the fiber channel protocol standardized by ANSI, X3T11, a greatnumber of apparatus can be connected, and a large variety of protocolssuch as SCSI, ESCON and TCP/IP can be simultaneously operated. However,when it is feared that data in storage devices is destroyed by an accesswhich a different file system makes due to a different kind of protocol,it is necessary to take a security measure against that.

To assure this security, as described in JP-A-10-333839, a table showinginformation for uniquely identifying host computers and to either permitor reject access to storage regions under command of a storagecontroller is provided within the storage controller. At the time ofaccess, by referring to this table, it is possible to reject the accessfrom the other apparatus than the host computers that are permitted toaccess, and hence prevent illegal access.

This identification information is an array of 48-bit digits calledN_Port_Name, unique to each host bus adapter. Under the condition thatthe identification information for host computers are previouslyregistered within the storage controller, the host computers can makeaccess to storage regions within a storage device under command of thestorage controller.

In order to previously register the host computer identifyinginformation within the storage controller, the user or supervisor isfirst required to examine the N_Port_Name expressed by 48-bit digitsthat has an eight-byte region peculiar to a host computer by use of amanager connected to host computers through LAN. Then, it is necessarythat this number be noted and registered in the storage controller byhis own hand. Therefore, it is feared that if a wrong N_Port_Name isregistered by mistake as the correct one of a host computer, this hostcomputer cannot access to a storage region or an undesired host computermight make access to a storage region and destroy data.

Moreover, when information of either permitting or rejecting access to alarge number of host computers is registered, it takes much time.Therefore, it is desired that this identification information be simplyacquired and set.

SUMMARY OF THE INVENTION

Accordingly, it is an object of the invention to provide a systemcapable of acquiring information that uniquely identifies the connectedhost computers and automatically registering it within a storagecontroller, thereby making it possible simply to either permit or rejectaccess to storage regions under command of the storage controller.

To achieve the above object, according to the invention, thehost-identifying information is first acquired from a frame transmittedfrom the corresponding host computer, and registered in the storagecontroller, and then flag information is set to change for permittingthat host computer to access by the supervisor's operation.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing a hardware structure of an embodimentof the invention.

FIG. 2 is a diagram showing the format of a frame.

FIG. 3 is a diagram showing the details of the frame header.

FIG. 4 is a diagram showing the sequence of log-in between host computerand device.

FIG. 5 is a flowchart for log-in, and security table registration andsetting.

FIG. 6 is a flowchart for addition of a host computer to an operatingcomputer system.

FIGS. 7A, 7B, 7C and 7D show examples of the security table.

FIG. 8 is a diagram showing an example of the display panel used at thetime of registering security information.

FIG. 9 is a flowchart for the process to INQUIRY command.

FIG. 10 is a flowchart for the process having a security tableauto-setting mode.

FIG. 11 is a flowchart for the process taken when a device intermits.

FIG. 12 is a flowchart for security table change and re-login.

FIG. 13 is a diagram showing a computer system having SAN manager.

DESCRIPTION OF THE EMBODIMENTS

Embodiments of the invention will be described with reference to theaccompanying drawings.

A description will be made of a computer system constructed by use of astorage controller and magnetic disk units as a storage system accordingto the present invention, and a network constructed by providing a fiberchannel between the storage system and host computers, or a computersystem under the so-called SAN (Storage Area Network) environment.

The fiber channel is a protocol having a serial transfer system with noown command set. Since it sends information asynchronously, thefrequency bands of transmission media can be effectively used. Inaddition, instead of having no own commands, a physical transfer systemis used as a carrying way for a command set such as SCSI or ESCON,thereby making it possible to faster transfer data of various kindswhile the background art resources are being inherited.

FIG. 1 is a block diagram showing a hardware structure of a computersystem according to the invention. Referring to FIG. 1, there are shownhost computers 10, 20, 30, each acting as a central processing unit forperforming data processing. A plurality of magnetic disk drives 50 arestorage units with storage media that are connected in an array undercommand of a storage controller 40. The storage controller 40 is a diskarray system for controlling these magnetic disk drives 50.

The storage controller 40 is constructed by a front end control unit(channel adapter) 41 for controlling the fiber channel protocol to thehost computers 10, 20, 30, a microprocessor 42 for controlling all thestorage controller 40, a nonvolatile control memory 43 for storing amicroprogram for controlling the operation of storage controller 40,data for control and each table described later, cache 45 fortemporarily storing (buffering) data, a cache control unit 44 forcontrolling this cache 45 to read and write data, a back end controlunit (disk adapter) 46 for controlling a protocol used to the magneticdisk drives 50 to control data transfer to or from the magnetic diskdrives 50, and a panel 47 on which information is set.

The magnetic disk drives 50 are expressed as logically divided regions.In the SCSI protocol, these regions are called LU (Logical Unit), andnumbered by LUN (Logical Unit Number). In this embodiment, two regionsof LU0 (51) and LU1 (52) are shown as LU of LU0 and LU of LU1.

The host computers 10, 20, 30 and the storage controller 40 areconnected through a fiber channel 60 as an interface i.e., via a switchcalled “Fabric”.

The operation of the system shown in FIG. 1 will be described. As anexample of this operation, it is assumed that data is transferredbetween the host computer 10 and the LU0 (51) provided within the diskdrive 50 through the storage controller 40. The host computer 10 loginsthe storage controller 40. Then, when the host computer 10 issues anaccess request (I/O request) to the LU0 (51), the front end control unit41 that received this request sends an interruption request to themicroprocessor 42. The microprocessor 42 controls the control memory 43to store command information from the host computer 10 and informationfor identifying the host computer 10. When the host computer 10 ispreviously permitted to access to the LU0 (51), the microprocessor 42confirms the command type.

When the confirmed command is Read command, the microprocessor 42decides if the data block to be accessed exists in the cache 45. If thisdata exists, it is transferred to the host computer 10, and the end signis sent to the host computer 10. If the data is not present, the backend controller 46 is operated to read the data block from the LU0 (51),and the cache control unit 44 controls the read data to be stored in thecache 45. Then, the microprocessor 42 orders the front end control unit41 to transfer the data stored in the cache 45 to the host computer 10,and to report the end sign to the host computer 10.

If the confirmed command is Write command, the microprocessor 42controls the cache 45 to store the data to be written, and sends the endsign to the host computer 10. Then, the cache control unit 44 is used tosend this data to the LU0 (51) and completely write therein.

The basic unit of data that the fiber channel handles is called frame.This frame will be described with reference to FIG. 2. As shown in FIG.2, a frame 70 is formed of a start-of-frame (SOF) 71, a frame header 72of 24 bytes for link operation control and for characterizing the frame,a data field 73 of data itself to be actually transferred, a cyclicredundancy check (CRC) 74 of 4 bytes, and an end-of-frame (EOF) 75. Thedata field 73 is variable in the range from 0 to 2112 bytes.

The SOF 71 is an identifier of 4 bytes placed at the head of the frame.The EOF 75 is an identifier of 4 bytes placed at the back of the frame.The SOF 71 and the EOF 75 define the frame. A signal of idle flows inthe fiber channel when there is no frame. FIG. 3 shows the format 80 ofthe frame header 72.

The format of the frame header 72 will be described below with referenceto FIG. 3. The frame header 72 is formed of six words of 32 bits each. Adestination identifier D_ID (Destination ID) 81 of 23rd-0th bit of word0 is an address identifier for the frame receiving side. A sourceidentifier S_ID 82 of 23rd-0th bit of word 1 is an address identifier ofthree bytes for identifying a port of the transmission source of theframe. This identifier has a meaningful value in all frames transmittedand received. The S_ID 82 is the information capable of dynamically anduniquely identifying a host computer, and is a value reported from thehost computer at the time of PLOGI (described later). However, this S_ID82 is, for example, a value dynamically changing each time the system isstarted, and assigned at the time of initialization by Fabric in FC-PH(Fiber Channel Physical and Signaling Interface: US standard of fiberchannel). The value to be assigned deponds on N_Port_Name and Node_Namewhich each port has.

The kind of frame is roughly divided into data frame and link controlframe on the basis of the function. The data frame is used forinformation transfer, and has data and commands provided at the payloadsection of the data field for use in a high-rank protocol. The linkcontrol frame is generally used for indicating if the frame transmissionhas been successfully or unsuccessfully made. As an example of the linkcontrol frame, there is a frame for indicating that a single frame hasreceived or a frame for notifying parameters of transfer at the time oflog-in.

In the fiber channel interface, a host computer sends to a device aframe of port log-in PLOGI (N_Port Login) command including acommunication parameter, and the device accepts this frame, thuscommunications being made possible. This is called login.

A description will be made of the format of PLOGI frame that is acommunication request of a certain host computer to the storagecontroller 40. In the data field 73, the first 8-bytes region of thetwentieth to twenty-seventh byte (fifth to sixth word) is a region forstoring the N_Port_Name, and the second 8-bytes region of thetwenty-eighth to thirty-fifth byte (seventh to eighth word) is a regionfor storing the Node_Name.

The device sends to the host computer a frame called ACC (Accept) at thetime of accepting the request, or LS_RJT (Link Service Reject) at thetime of rejecting the request.

FIG. 4 shows a login sequence 100. The host computer as a source oflogin request sends the PLOGI frame to the storage controller 40 of adevice as a destination of login request. This PLOGI frame has its frameheader 72 including S_ID 82 and other information, and its data field 73including the N_Port_Name and Node_Name of the login request source.

The storage controller 40 takes information out of this PLOGI. Whenaccepting the login, it transmits ACC frame to the source of loginrequest. When rejecting the login, the storage controller 40 transmitsto the host computer a frame called LS_RJT against the PLOGI frame.

The security information acquisition and automatic registrationaccording to the invention will be described with reference to FIG. 5.Here, in place of N-Port_Name, WWN (World Wide Name) that is similarlyexpressed by an array of 48-bit digits is used as transmission sourceidentifying information. The WWN has a value of 8 bytes peculiar to eachapparatus as does the N_Port_Name. It may include Port_Name peculiar foreach port and Node_Name peculiar to each node.

After a peripheral unit such as storage controller 40 is first started,the host computer 10, 20, 30 is started up (step 501). Each hostcomputer issues a PLOGI frame as a login request frame includingN_Port_Name information peculiar to each host.

The microprocessor 42 of the storage controller 40 receives the framesent through the port (not shown) of the front end control unit 41 (step502). Then, the microprocessor 42 cuts off the WWN information out ofthe frame, forces the buffer (not shown) of the cache 45 to store thatinformation, and refers to a port security table (host computerinformation table) 200 defined within the control memory to see if it isalready registered in the WWN list of the table 200 (step 503). Theframe at the time of actual I/O request (Inquiry) which will bedescribed later has no N_Port_Name added, but only S_ID added the valueof which changes for each time of starting. Thus, the microprocessor 42cuts off S_ID out of the frame header of PLOGI, and WWN out of the datafield, and generates the security table (host computer informationtable) 200, as shown in FIG. 7A, to enable N_Port_Name to be pulled outof S_ID at the time of Inquiry. This table is stored in the controlmemory 43. It is assumed that the part of list in which the WWNinformation of port security table 200 is stored has initially a valueirrespective of the WWN information as a default. Each time each of thehost computers issues PLOGI frame, the WWN (or N_Port_Name) and S_IDincluded in the PLOGI frame are automatically registered in the securitytable 200.

If it is decided to be false (YES at step 503′), the cut-off WWNinformation of host bus adapters 11, 21, 31 of host computers 10, 20,30, assumed as host A, host B and host C, are stored in the securitytable 200 successively (step 504). Since the WWN information insertedwithin the frame the host computer 10, 20, 30 has issued does not agreewith the values registered as default within the table 200, themicroprocessor 42 of the storage controller 40 sends LS_RJT frame havinga reject parameter for rejection against the connection back to the hostcomputer 10, 20, 30 (step 505).

Since the storage controller 40 cannot accept the I/O of host computer10, 20, 30 at the time of newly starting as describe above, the panel 47is used to assign those host computers to the respective ports of thefront end control unit 41 that the storage controller 40 can permit toaccess to the ports. The supervisor uses the panel 47, and orders it toperform a port security change task for port in order that the hostcomputer 10 can access to the controller via a port of front end controlunit 41. When a port security change window is brought about by pushingkeys of a key area 472 of panel 47, WWN information is displayed in theorder of automatic registration on the WWN column of table 200.

As shown in FIG. 8, the automatically registered Host A, host B and hostC are displayed on the panel screen. The supervisor operates keys toselect the Host A as WWN information of host bus adapter 11 of hostcomputer 10, and to select the Enable of the port access permit/rejectpair flag information on the table, thus enabling the host to access.This port access permit/reject flag information is previously set to beDisable as default. Similarly, the access from host computers 20 and 30can be enabled (steps 506, 507, 508, 514). An example of how to enter isshown in FIG. 8. The panel 47 is shown in FIG. 8. In the panel 47, adisplay 471 is shown to indicate the automatically registered hostcomputers (in this case, Host A and Host B are already registered, andHost C is to be newly registered). When Host C is selected by pushingthe arrow keys of the key set 472, the LU access permit/reject flaginformation can be set to be Enable or Disable. Then here the supervisorselects Enable thus enabling this host to access. It is better to setDisable as the default of this LU access permit/reject flag information.The key set 472 may have keys for numerals that allow WWN to be manuallyinputted by hand as in the background art. In FIG. 8, for the sake ofsimplicity, a single LU (storage region) is shown.

Next, the host computers 10, 20, 30 make re-recognition processing forthe connected devices (step 514).

The host computer 10, 20, 30 again issues PLOGI frame as a login requestframe, and the microprocessor 42 of storage controller 40 receives theframe fed through a port of front end control unit 41 (step 502). Then,the microprocessor 42 cuts off the WWN information out of the frame, andcompares it with the WWN information list within the port security table200 (steps 503, 503′). When it is decided to agree because it is alreadyregistered (NO of step 503′), the microprocessor sends back to the hostcomputer 10, 20, a frame indicating that login is possible. Thereafter,login processing is continued, and the storage regions 51, 52 undercommand of storage controller 40 can be accessed by the host computers10, 20, 30 (steps 515 to 517).

At step 503′, when it is recognized that a new host computer isconnected, that the new host computer has been corrected is indicated onthe panel display. At this time, the supervisor is urged to make modeselection for the registration in the security table. The modes that canbe selected at step 506 include a mode in which WWN itself is used toregister, and a mode in which Company_ID included in WWN is used toregister. The fact that a new host computer has been connected may beindicated by means of blinking on the display, guide using voice orother ways that the supervisor can perceive.

The Company_ID will be described. The N_Port_Name of 8 bytes includesCompany_ID (selected when a four-bit area of 60th bit to 63rd bit has aparticular value) in a 24-bit area of 36th bit to 59th bit, and VS_ID(Vendor Specific Identifier) in a 36-bit area of 0th bit to 35th bit.Here, a unique value is allocated to the Company_ID of each vendor. Thatis, the same vendor has the same value.

Under the security for preventing data damage by I/O from a hostcomputer having a different protocol and different file system, the samedevice can be often accessed by host computers of the same vendor.Therefore, there will be often no trouble even if security is set up foreach vendor. Thus, since the access enable/disable conditions can beprovided for a unit of a plurality of host computers, the security table(access enable/disable table) can be more easily generated.

When the supervisor selects the registration of WWN (of each of aplurality of host computers to be registered), and when any securitytable is not generated yet, e.g., when the system is started, themicroprocessor 42 recognizes LU that is a storage region under commandof storage controller 40. Then, it generates a security table (accessenable/disable table) 201 of host computes and LU as shown in FIG. 7B.If the security table 201 is previously generated, e.g., when a hostcomputer is added or restarting is made, a host computer correspondingto a new WWN is added to the security table 201, thus a new securitytable being generated.

This security table 201 is shown in the display of panel 47 (step 507).The supervisor inputs only access enable or disable designation for thehost computers on the table by use of the panel 47 (step 508).

When the supervisor selects the registration of each vendor, themicroprocessor 42 cuts Company_ID off out of WWN (step 509). Then, anaccess enable/disable table 202 of vendor and LU as shown in FIG. 7C isgenerated and displayed as at step 507 by use of this Company_ID (step510). The supervisor enters only the access enable or disabledesignation for the host computers on the table by use of panel 47 (step511).

Since the security table 201 shows the relation between the host (WWN)and LU, the access enable and disable designation for the host computers(WWN) each having a Company_ID are automatically entered with referenceto the access enable/disable table 202 generated at step 511, thusreplacing the process at step 507 (step 512).

Thus, the security table 201 is completely set up by the above inputoperation and updated (step 513).

After updating the security table 201, the microprocessor 42 issuesGPN_ID (Get_Port_Name) to host computers, causing the host computers toissue PLOGI (step 514).

Since a new WWN is not handled this time, NO is selected at step 503′,and the process goes to step 515.

When WWN is known at step 503′, login continues, and it is decided ifthis WWN can login in storage controller 40. For this purpose, withreference to security table 201 it is decided if this WWN has right toaccess to a given LU (LU0 or LU1 in FIG. 1) under command of storagecontroller 40 (step 515).

ACC is sent back to the host computer in which the access right isalready set (step 516), and login operation is completed (step 517).

LS_RJT is transmitted back to the host computer that has no access right(step 518), and login is rejected (step 519).

When a plurality of host computers are newly connected, e.g., when thesystem is initially started, the supervisor cannot recognize which hostcomputer corresponds to a WWN. Therefore, at step 506, when registrationis made for each WWN, the relation between host and WWN is checked fromthe SAN manager separately connected to the system. Under this checking,the supervisor can generate the security table 201 by only entering thepresence or absence of the access right.

The SAN manager will be described with reference to FIG. 13. The hostcomputers 10, 20, 30 and the storage controller 40 are also connectedthrough a local area network (LAN) 61 other than the fiber channelFabric 60. SAN manager unit 90 and the fiber channel Fabric 60 are alsoconnected to this LAN 61. The SAN manager unit 90 is PC or WS, andacquires information about SAN system construction from the hostcomputers 10, 20, 30, storage controller 40 and fiber channel Fabric 60via LAN 61.

In addition, at step 506, for the case in which vendor registration modeis selected, the control memory previously stores the Company_ID of eachvendor, and thus it can be known that a new WWN corresponds to aparticular host computer of a certain vendor. Therefore, even at thetime of initial setting, by only mode selection it is possible that thesupervisor generates the security table 201 without entering thepresence or absence of access right.

A description will be made of the case where a new host computer isadded to the operating computer system with reference to FIGS. 1 and 6.In the system construction shown in FIG. 1, it is assumed that the hostcomputer 30 is added under the operation of the system that has no hostcomputer 30. When the host computer 30 is newly connected to the system,i.e., when the cable connected to the host bus adapter (not shown) ofhost computer 30 is connected to the switch 60 of the fiber channelFabric, fabric login FLOGI is executed between the host computer 30 andthe switch. The fiber channel Fabric switch 60 sends to all connecteddevices, RSCN (Registered State Change Notification) that indicateschange of state (step 601). The microprocessor 42 of the storagecontroller 40 that has received this notification transmits an ACC(Accept) frame (step 602).

Since the added host computer does not correspond to any one of the hostcomputers under login, Get Port Name (GPN_ID) is transmitted to the hostcomputer 30 to request N_Port_Name information (step 603). Since thereceived N_Port_Name information is of course not registered evenreferring to the N_Port_Name information list of security table 200, theN_Port_Name information of the added host computer 30 is stored in theport security table 200 (step 604).

Since the S_ID of the host computer 30 is not acquired yet, the storagecontroller 40 cannot accept the access by the host computer 30 underthis condition. Therefore, the supervisor assigns the host computer, andmakes it be enabled to access by use of panel 47. The supervisorrequires to execute a port security change task for port P0 on the panel47 in order that the host computer 30 can be enabled to access via portP0 of front end control unit 41. As a result, the N_Port_Nameinformation is displayed on the security table 200 at the N_Port_Nameitem column.

When Host C is selected as the automatically registered N_Port_Nameinformation of the host bus adapter 31 of host computer 30 in responseto GPN_ID, the port access permit/reject pair flag information can bechanged on the table. The supervisor selects Enable, thus this hostbeing enabled to access (step 605). Here, the host computer 30 can makere-recognition processing for the connected device (step 606). Then,login process is performed so that the S_ID corresponding to the hostcomputer 30 can be acquired from the host computer 30. The storageregions 51, 52 under command of storage controller 40 can be accessed bythe host computer 30. After the subsequent reception of PLOGI frame, theprocess of entering all items concerning the host computer 30 on thesecurity table 200 ends.

While N_Port_Name information is used for the description with referenceto FIG. 6, WWN information may be used therefor.

In addition, while the security table (host information table) 200 andsecurity table (access enable/disable table) 201 or 202 are shown asseparate tables in FIGS. 7A through 7C, they are managed as one table asshown in FIG. 7D.

The execution of Inquiry command will be described with reference toFIG. 9. The Inquiry command is a command to inquire, before the start ofI/O process, the installation of the logic devices associated with theprocess. Specifically, this command is a request to inquiry informationbefore the host computer issues a request to access to the storageregion LU under command of storage controller 40. This command is astandard command that is surely supported in SCSI.

The detailed format of frame header 72 will be described. The hostcomputer to access to LU sends a frame including Inquiry command to thestorage controller 40 having the LU to be accessed (step 901). Thisframe includes the S_ID 82 of the host and LUN as an LU identifier forinquiry assigned in PLOGI.

To issue Inquiry and execute I/O, the S_ID 82 is cut off out of theInquiry frame (step 902). Then, the N_Port_Name corresponding to theS_ID 82 is acquired from the security table 200 showing the relationbetween N_Port_Name (or WWN) and S_ID 82. Thus, it is decided which hostcomputer has issued Inquiry (step 903).

In addition, from the security table 201 it is decided if the decidedhost computer has right to access to the LU for I/O (step 904). If ithas right, ACC is sent back to the host computer that has issued Inquiryfor access (step 905). Then, I/O process is performed (step 906). If ithas no right, LS_RJT is transmitted back to the host computer (step907), rejecting I/O request (step 908).

Thus, I/O process is accepted or rejected, and Inquiry ends (step 909).

With reference to FIG. 10, a description will be made of anotherembodiment having the function for the mode in which security setting isautomatically registered in addition to the registration of hostcomputers.

Steps 1001 through 1009 are the same as steps 501 through 509 given inFIG. 5, and thus will not be described.

After clipping Company_ID at step 1009, the user decides to selectmanual or automatic security registration (step 1010).

If manual registration is selected, steps 1011 and 1012 are executed.These steps are the same as steps 510 and 511 shown in FIG. 5, and thuswill not be described.

If automatic registration is selected, the microprocessor 42 checks ifthe host computers registered on the security table 200 include the sameone as Company_ID of new WWN (step 1013).

If there is not, the automatic setting of security cannot be made, andthus the process goes to step 1011 as in the manual setting. If there isthe same Company_ID, the security setting of that Company_ID is copiedas a Company_ID of new WWN, thus the access enable/disable setting inputfor that host being omitted (step 1014).

Step 1015 and the following steps after generating security table foreach vendor are the same as step 515 and the following steps shown inFIG. 5, and thus will not be described.

Description will be made of the case where a host computer istemporarily stopped or a host bus adapter is replaced due to failure inthe operating computer system, with reference to FIG. 11.

When a certain host computer is extracted from the system (step 1101),or when the cable connected to the host computer is disconnected fromthe switch of Fabric 60, the switch (not shown) of fiber channel 60sends RSCN indicating change of state to all connected devices (step1102). The storage controller 40 that has received this notificationsends accept (ACC) frame (step 1103). The storage controller 40 confirmsif the host computer informed of by the received RSCN exists in the hostcomputers now under login (step 1104). If there is, GPN_ID is sent tothat host computer (step 1105).

The host computer extracted from the system is disconnected, and thuscannot respond to GPN_ID. Therefore, the storage controller 40 cannotreceive accept (FS_ACC) (step 1106). Thus, the storage controller 40internally executes logout process for this host computer. Then, itchanges the access enable/disable flag information of security table 201to Disable, or makes that host be disabled to access (step 1107). Whenthe host is again connected after replacing the host bus adapter,N_Port_Name information is changed, and thus the same mode as the newprovision/addition of a host is brought about.

Here, at step 1107 it is possible to set not to change the accessenable/disable flag information of security table 201. Then, if the hostcomputer is temporarily stopped or resumes its operation after havingbeen completely repaired, it can access to the same storage region asbefore the stop without again setting security table 201. The host busadapter replacement process involves the connection and disconnection ofthe cable of the same port. Thus, under the mode of “deciding hostadapter replacement due to failure”, automatic access setting can bemade without enabling access on panel 47 by supervisor. On the contrary,under the mode of “access enable/disable”, addition process is executedas in the embodiment for host addition.

LU security change will be described with reference to FIG. 12. Thesecurity table 201 or 202 is started to change by use of panel 47 shownin FIG. 8 (step 1201). First, change for each WWN or each vendor isselected as a change mode (step 1202).

When change for each WWN is selected, the microprocessor 42 controlspanel 47 to indicate a list of host computers on the display 471 (step1203). Then, the supervisor operates the key buttons 472 to change theaccess enable/disable conditions of host to be changed (step 1204).

When change for each vendor is selected, the microprocessor 42 cutsCompany_ID away from WWN of host information table 200, and generatesthe security table (access enable/disable table) 202 showing the accessenable/disable conditions of vendors (step 1205). Then, thevendor-access security table 202 is indicated on the display 471 ofpanel 47 (step 1206). The supervisor operates the key buttons 472 tochange the access enable/disable conditions of a vendor to be changed(step 1207). The microprocessor 42, on the basis of the results,searches for the WWN having the Company_ID of the vendor changed, andmakes the access enable/disable table have the same contents as at step1204 (step 1208).

Then, the microprocessor 42 changes the security table 201 (step 1209).Moreover, it issues a command for re-recognition to the host computer(step 1210). The host computer sends PLOGI in response to this command,leading to login (step 1211). In order to make the access enabled hostbe disabled, it is necessary that the host computer to be disabled toaccess be internally made logout by the storage controller 40 before there-recognition process.

While in the above three examples, the access enable/disable operationsare made for each LU unit of front end control unit 41 of storagecontroller 40, it is possible to make setting not for each LU but foreach storage controller 40. In that case, the accessed ones of thesecurity table 201 are not LU but storage controller 40. Moreover, whenthe front end control unit 41 has a plurality of ports, the access rightof host is set for each port, thereby making it possible to avoidcompetition among host computers or provide priority to the hostcomputers.

In addition the security system can also be constructed by transferringthe security table 201, after being generated by the storage controller40, to the host computers, and making decision of whether they haveaccess right from the table before the hosts themselves issue PLOGI andInquiry. In this case, the host computers select only the access rightportion of themselves from the security table sent from each storagecontroller and store it. Similarly, a security table may be providedwithin the switch or SAN manager provided between the host computer andthe storage controller. Thus, the number of commands to be transferredto the fiber channel and commands that the storage controller handlescan be decreased, and the I/O process can be more effectively performed.

Moreover, data damage due to the access from a different protocol,different file system or different OS usually occurs only at the time ofdata writing. If data reading is controlled to execute from the hostcomputer that has other protocols and different file system, it will beoften advantageous. Therefore, it is possible that, as at steps 507 and508 in FIG. 5, when the user is allowed to enter access right, readaccess and write access are separately set up so as to provide storageregions allowed only to be read or provide access right only for writingand free access for reading.

The same vendor sometimes manufactures host computers that have aplurality of different file types. In that case, use of Company_ID mightfail to achieve the original security. At that time, a code foridentifying OS or file type is added to Company_ID, and this Company_IDcan be used to substitute for the Company_ID described in the previousembodiments.

It is also possible to detect the protocol, file type and OS of hostfrom PLOGI not using N_Port_Name for identifying the host computers, andto use these identification information for Company_ID, so that the sameaccess right can be provided to the host computers of the same filetype.

While a single storage controller and two LUs are used in the aboveembodiments for the sake of simple explanation, the present inventioncan be applied to a system having a plurality of storage controllers, orthree or more LUs. In this case, the security setting can be of coursesimplified. Moreover, the storage region may be logical volume unit,RAID group unit, or physical region or physical volume unit that is nota logically divided unit, other than LU unit. In addition, as in thecase where there are provided a plurality of storage units and aplurality of storage controllers, but logically one storage unit and onestorage controller, multiple host computers, storage controllers andstorage units include the meaning of being both logically multiple andphysically multiple ones.

Furthermore, the recording media may be optical disks or magnetoopticaldisks other than magnetic disks, or magnetic tape other than disks. Thetechnical field to be applied is not limited to the relation between thehost computer and storage controller, but to the relation between otherinformation processors that are required to provide access limitation.

1. A storage system comprising: one or more storage devicescorresponding to at least one first logical volume and at least onesecond logical volume; a storage controller being adapted to be coupledto a plurality of computers and to store first security informationindicating a relationship between at least one computer group includingone or more of the plurality of computers and the at least one firstlogical volume accessible for the one or more of the plurality ofcomputers included in at least one computer group and to store secondsecurity information indicating a relationship between at least one ofthe plurality of computers and the at least one second logical volumeaccessible for the at least one of the plurality of computers; and adisplay device being adapted to be coupled to the storage controller andto display both the first security information and the second securityinformation.
 2. A storage system according to claim 1, wherein thestorage controller receives a Port Login (PLOGI) frame from a computerwhich is newly coupled to the storage controller, and acquires a WorldWide Name (WWN) and a source identifier (S_ID) contained in said PLOGIframe from said PLOGI frame so that an administrator can select alogical volume to be accessed from the at least one computer group.
 3. Astorage system according to claim 1, wherein when setting/alteration ofaccess permit/deny to logical volumes using an identifier designating aplurality of computers collectively is selected, the identifierdesignating said computers collectively including said computer newlycoupled to the storage controller and logical volumes are displayed onthe display device.
 4. A storage system according to claim 1, whereinwhen setting/alteration of access permit/deny to logical volumes usingan identifier designating one of said computers is selected, theidentifier designating said computer newly coupled to the storagecontroller and logical volumes are displayed on the display device.
 5. Astorage system according to claim 1, wherein the storage controllersends Accept (ACC) frame or Link Service Reject (LS_RJT) frame based ona received Port Login (PLOGI) frame.
 6. A storage system according toclaim 1, wherein each logical volume is form by a storage region of saidone or more storage devices.
 7. A storage system according to claim 1,wherein both said first and second security information can be set orchanged by a user using a management computer, and wherein saidmanagement computer is coupled to said storage system.
 8. A storagesystem according to claim 7, wherein the storage controller receives aPort Login (PLOGI) frame from a computer which is newly coupled to saidstorage control unit, and acquires a source identifier (S_ID) containedin said PLOGI frame from said PLOGI frame so that an administrator canselect a logical volume to be accessed from the at least one computergroup belonging to said computer newly coupled to the storagecontroller.
 9. A storage system according to claim 7, wherein whensetting/alteration of access permit/deny to logical volumes using anidentifier designating a plurality of computers collectively isselected, the identifier designating said computers collectivelyincluding said computer newly coupled to the storage controller andlogical volumes are displayed on the display device.
 10. A storagesystem according to claim 7, wherein when setting/alteration of accesspermit/deny to logical volumes using an identifier designating one ofsaid computers is selected, the identifier designating said computernewly coupled to the storage controller and logical volumes aredisplayed on the display device.
 11. A storage system according to claim7, wherein the storage controller sends Accept (ACC) frame or LinkService Reject (LS_RJT) frame based on a received PLOGI frame.
 12. Astorage system according to claim 7, wherein both said first and secondsecurity information can be set or changed by a user using a managementcomputer, and wherein said management computer is coupled to saidstorage system.
 13. A storage system according to claim 7, wherein eachlogical volume is form by a storage region of said one or more storagedevices.
 14. A storage system according to claim 7, wherein the storagecontroller acquires a World Wide Name (WWN) contained in said PLOGIframe from a PLOGI frame.
 15. A storage controller comprising: at leastone adapter being adapted to be coupled to a plurality of computers,wherein the storage controller is adapted to store first securityinformation indicating a relationship between at least one computergroup including one or more of the plurality of computers and at leastone first logical volume accessible for the one or more of the pluralityof computers included in the at least one computer group and to storesecond security information indicating a relationship between at leastone of the plurality of computers and at least one second logical volumeaccessible for the at least one of the plurality of computers so thatboth the first security information and the second security informationare displayed on a display device.
 16. A storage controller according toclaim 15, wherein the storage controller receives a Port Login (PLOGI)frame from a computer which is newly coupled to the storage controller,and acquires a World Wide Name (WWN) and a source identifier (S_ID)contained in said PLOGI frame from said PLOGI frame so that anadministrator can select a logical volume to be accessed from the atleast one computer group.
 17. A storage controller according to claim15, wherein when setting/alteration of access permit/deny to logicalvolumes using an identifier designating a plurality of computerscollectively is selected, the identifier designating said computerscollectively including said computer newly coupled to the storagecontroller and logical volumes are displayed on the display device. 18.A storage controller according to claim 15, wherein whensetting/alteration of access permit/deny to logical volumes using anidentifier designating one of said computers is selected, the identifierdesignating said computer newly coupled to the storage controller andlogical volumes are displayed on the display device.
 19. A storagecontroller according to claim 15, wherein the storage controller sendsAccept (ACC) frame or Link Service Reject (LS_RJT) frame based on areceived Port Login (PLOGI) frame.
 20. A storage controller according toclaim 15, wherein each logical volume is form by a storage region ofsaid one or more storage devices.
 21. A storage controller according toclaim 15, wherein both said first and second security information can beset or changed by a user using a management computer, and wherein saidmanagement computer is coupled to said storage controller.
 22. A storagecontroller according to claim 21, wherein the storage controllerreceives a Port Login (PLOGI) frame from a computer which is newlycoupled to said storage control unit, and acquires a source identifier(S_ID) contained in said PLOGI frame from said PLOGI frame so that anadministrator can select a logical volume to be accessed from the atleast one computer group belonging to said computer newly coupled to thestorage controller.
 23. A storage controller according to claim 21,wherein when setting/alteration of access permit/deny to logical volumesusing an identifier designating a plurality of computers collectively isselected, the identifier designating said computers collectivelyincluding said computer newly coupled to the storage controller andlogical volumes are displayed on the display device.
 24. A storagecontroller according to claim 21, wherein when setting/alteration ofaccess permit/deny to logical volumes using an identifier designatingone of said computers is selected, the identifier designating saidcomputer newly coupled to the storage controller and logical volumes aredisplayed on the display device.
 25. A storage controller according toclaim 21, wherein the storage controller sends Accept (ACC) frame orLink Service Reject (LS_RJT) frame based on a received PLOGI frame. 26.A storage controller according to claim 21, wherein both said first andsecond security information can be set or changed by a user using amanagement computer, and wherein said management computer is coupled tosaid storage controller.
 27. A storage controller according to claim 21,wherein each logical volume is form by a storage region of said one ormore storage devices.
 28. A storage controller according to claim 21,wherein the storage controller acquires a World Wide Name (WWN)contained in said PLOGI frame from a PLOGI frame.
 29. A method ofcontrolling a storage system comprising: storing first securityinformation indicating a relationship between at least one computergroup including one or more of a plurality of computers and at least onefirst logical volume accessible for storing a second securityinformation indicating a relationship between at least one of theplurality of computers and at least one second logical volume accessiblefor the at least one of the plurality of computers; and displaying boththe first security information and the second security information on adisplay device.
 30. A method according to claim 29, wherein the storagecontroller receives a Port Login (PLOGI) frame from a computer which isnewly coupled to the storage controller, and acquires a World Wide Name(WWN) and a source identifier (S_ID) contained in said PLOGI frame fromsaid PLOGI frame so that an administrator can select a logical volume tobe accessed from the at least one computer group.
 31. A method accordingto claim 29, wherein when setting/alteration of access permit/deny tological volumes using an identifier designating a plurality of computerscollectively is selected, the identifier designating said computerscollectively including said computer newly coupled to the storagecontroller and logical volumes are displayed on the display device. 32.A method according to claim 29, wherein when setting/alteration ofaccess permit/deny to logical volumes using an identifier designatingone of said computers is selected, the identifier designating saidcomputer newly coupled to the storage controller and logical volumes aredisplayed on the display device.
 33. A method according to claim 29,wherein the storage controller sends Accept (ACC) frame or Link ServiceReject (LS_RJT) frame based on a received Port Login (PLOGI) frame. 34.A method according to claim 29, wherein each logical volume is form by astorage region of said one or more storage devices.
 35. A methodaccording to claim 29, wherein both said first and second securityinformation can be set or changed by a user using a management computer,and wherein said management computer is coupled to said storagecontroller.
 36. A method according to claim 35, wherein the storagecontroller receives a Port Login (PLOGI) frame from a computer which isnewly coupled to said storage control unit, and acquires a sourceidentifier (S_ID) contained in said PLOGI frame from said PLOGI frame sothat an administrator can select a logical volume to be accessed fromthe at least one computer group belonging to said computer newly coupledto the storage controller.
 37. A method according to claim 35, whereinwhen setting/alteration of access permit/deny to logical volumes usingan identifier designating a plurality of computers collectively isselected, the identifier designating said computers collectivelyincluding said computer newly coupled to the storage controller andlogical volumes are displayed on the display device.
 38. A methodaccording to claim 35, wherein when setting/alteration of accesspermit/deny to logical volumes using an identifier designating one ofsaid computers is selected, the identifier designating said computernewly coupled to the storage controller and logical volumes aredisplayed on the display device.
 39. A method according to claim 35,wherein the storage controller sends Accept (ACC) frame or Link ServiceReject (LS_RJT) frame based on a received PLOGI frame.
 40. A methodaccording to claim 35, wherein both said first and second securityinformation can be set or changed by a user using a management computer,and wherein said management computer is coupled to said storagecontroller.
 41. A method according to claim 35, wherein each logicalvolume is form by a storage region of said one or more storage devices.42. A method according to claim 35, wherein the storage controlleracquires a World Wide Name (WWN) contained in said PLOGI frame from aPLOGI frame.
 43. A computer program stored on a computer readablestorage medium and implemented in a storage controller, the computerprogram comprising: code for storing first security informationindicating a relationship between at least one computer group includingone or more of a plurality of computers and at least one first logicalvolume accessible for the one or more of the plurality of computersincluded in the at least one computer group and for storing secondsecurity information indicating a relationship between at least one ofthe plurality of computers and at least one second logical volumeaccessible for the at least one of the plurality of computers; and codefor displaying both the first security information and the secondsecurity information on a display device.
 44. A computer programaccording to claim 43, wherein the storage controller receives a PortLogin (PLOGI) frame from a computer which is newly coupled to thestorage controller, and acquires a World Wide Name (WWN) and a sourceidentifier (S_ID) contained in said PLOGI frame from said PLOGI frame sothat an administrator can select a logical volume to be accessed fromthe at least one computer group.
 45. A computer program according toclaim 43, wherein when setting/alteration of access permit/deny tological volumes using an identifier designating a plurality of computerscollectively is selected, the identifier designating said computerscollectively including said computer newly coupled to the storagecontroller and logical volumes are displayed on the display device. 46.A computer program according to claim 43, wherein whensetting/alteration of access permit/deny to logical volumes using anidentifier designating one of said computers is selected, the identifierdesignating said computer newly coupled to the storage controller andlogical volumes are displayed on the display device.
 47. A computerprogram according to claim 43, wherein the storage controller sendsAccept (ACC) frame or Link Service Reject (LS_RJT) frame based on areceived Port Login (PLOGI) frame.
 48. A computer program according toclaim 43, wherein each logical volume is form by a storage region ofsaid one or more storage devices.
 49. A computer program according toclaim 43, wherein both said first and second security information can beset or changed by a user using a management computer, and wherein saidmanagement computer is coupled to said storage controller.
 50. Acomputer program according to claim 49, wherein the storage controllerreceives a Port Login (PLOGI) frame from a computer which is newlycoupled to said storage control unit, and acquires a source identifier(S_ID) contained in said PLOGI frame from said PLOGI frame so that anadministrator can select a logical volume to be accessed from the atleast one computer group belonging to said computer newly coupled to thestorage controller.
 51. A computer program according to claim 49,wherein when setting/alteration of access permit/deny to logical volumesusing an identifier designating a plurality of computers collectively isselected, the identifier designating said computers collectivelyincluding said computer newly coupled to the storage controller andlogical volumes are displayed on the display device.
 52. A computerprogram according to claim 49, wherein when setting/alteration of accesspermit/deny to logical volumes using an identifier designating one ofsaid computers is selected, the identifier designating said computernewly coupled to the storage controller and logical volumes aredisplayed on the display device.
 53. A computer program according toclaim 49, wherein the storage controller sends Accept (ACC) frame orLink Service Reject (LS_RJT) frame based on a received PLOGI frame. 54.A computer program according to claim 49, wherein both said first andsecond security information can be set or changed by a user using amanagement computer, and wherein said management computer is coupled tosaid storage controller.
 55. A computer program according to claim 49,wherein each logical volume is form by a storage region of said one ormore storage devices.
 56. A computer program according to claim 49,wherein the storage controller acquires a World Wide Name (WWN)contained in said PLOGI frame from a PLOGI frame.